package org.thrj.wechat.sdk;

import java.util.Map;

public interface WeChatPushMessageSdk {

    /**
     * 向指定用户推送小程序订阅消息。
     * 该方法通过微信服务端接口，向指定用户的微信客户端发送一条模板订阅消息。
     * 消息内容基于提供的模板 ID（template_id）和数据参数（param），用户点击消息后可跳转至指定的小程序页面。
     *
     * @param message_tid 消息模板 ID，必须是在微信后台申请并通过审核的订阅消息模板ID
     * @param openId      接收消息用户的 OpenID，标识微信用户的唯一身份
     * @param page        用户点击消息后跳转的小程序页面路径，可携带参数（如：pages/index/index?id=1）
     * @param param       模板消息的数据字段映射，key 为模板中的字段名（如 keyword1），value 为对应要填充的文本内容
     *                    该方法会将每个字段包装为 {"value": "实际内容"} 的 JSON 结构，符合微信订阅消息数据格式要求
     */
    void pushMessage(String message_tid, String openId, String page, Map<String, String> param);

}
